Excel 中一键做饼图!ChatGPT4 制作 VBA 手把手教程,附源码
你好,我是清风徐来
这两天在录制"清风学长的AI办公课",做到“AI辅助Excel” 一章。发现有了AI,制作 VBA 还是挺方便
今天就给大家聊聊如何利用 AI 生成 VBA 代码
案例:在Excel中,根据选中数据一键生成柱状图,效果如下:
文末有福利,附本章源码下载。
「一、什么是 VBA?」
在 EXCEL 中,要实现进一步的自动化功能,需要用到一种叫 VBA 的技术。
VBA 是 Visual Basic for Applications 的缩写,是一种基于 Visual Basic 的宏语言,可以用来扩展和自动化 Windows 的应用程序,特别是 Microsoft Office 软件。
VBA 可以让你通过编写代码来控制 Office 应用程序中的对象,例如单元格、文档、幻灯片等,实现一些复杂或重复的任务。
VBA 也可以让表格与用户交互,或者在不同的 Office 应用程序之间传递数据。
VBA 面向那些想要提高工作效率、自定义 Office 功能、解决特定问题的有经验的 Office 用户。
VBA 需要专门学习,会编程的用户可以通过宏录制器来快速生成代码,但绝大部分 Office 用户是不会VBA的。
如今有了AI T,没有编程基础的人也可以轻松使用VBA!
「二、准备工作」
1、在 EXCEL 中启用“开发工具”
注意:不使用WPS的Excel,使用的是是微软的Excel!
打开开发工具的方法如下:
在“文件”选项卡上,转到“选项”>“自定义功能区”。在“自定义功能区”和“主选项卡”下,选中“开发工具”复选框。
2、数据准备
可以先利用 AI 自动收集、整理需要分析的数据。
如何操作详见《保姆级视频教程!手把手教你用 ChatGPT4.0 做上市公司业绩分析》
以下表格,就是用 chatgpt 收集的数据:
3、将Excel文件保存为“xlsm”后缀名
如果有数据的表格是 .xls 或者 .xlsx,需要另存为 .xlsm 后缀的文件。
4、登录微软Copilot或者 国产的kimi
Copilot网址:copilot.microsoft.com
kimi网址:kimi.moonshot.cn/
也可点击“阅读原文”访问
「三、具体操作」
一、Excel中插入表单控件按钮
插入后效果如下:
按钮名称可以自己按照功能修改。
二、让 AI 生成 VBA
我:“帮我写一个 excel 的 VBA 程序“
AI:“好的,你想要生成什么样的图表呢?是柱状图、折线图、饼图还是其他的?”
我:“我想要实现一个图表生成的功能”
AI:“好的,你想要生成什么样的图表呢?是柱状图、折线图、饼图还是其他的?”
我:“我想要生成一个柱状图”
AI:“好的,你的数据在哪个工作表和哪个范围呢?比如说,Sheet1 的 A1 到 C10。“
我:“根据我选中区域生成”
AI:“好的,你想要把图表放在哪里呢?是在新的工作表还是在当前工作表的某个位置?“
我:“当前工作表”
AI 生成了代码,但不能实现点击自动生成。
我:“请完善一下,我在 excel 中,已经插入了一个 acitvex 控件,实现:选中数据,点击 这个控件,生成柱状图”
AI 按要求完善了代码
Private Sub btnCreateChart_Click()
'获取选中的区域
Dim rng As Range
Set rng = Selection
'创建一个柱状图对象
Dim cht As ChartObject
Set cht = ActiveSheet.ChartObjects.Add(Left:=rng.Left + rng.Width, Top:=rng.Top + rng.Height, Width:=400, Height:=300)
'设置图表的数据源和类型
With cht.Chart
.SetSourceData Source:=rng
.ChartType = xlColumnClustered
End With
'添加图表标题
cht.Chart.HasTitle = True
cht.Chart.ChartTitle.Text = "柱状图"
End Sub
三、复制代码到 EXCEL
1、点击 激活excel 菜单栏“开发工具”的“设计模式”。
2、双击生成的按钮,进入 VB 编辑界面,删除原来所有代码,完整复制 Newbing 生成的代码,插入并保存退出。
3、再点击 excel 菜单栏“开发工具”的“设计模式”按钮,退出设计模式。
注意:运行前,首先要退出设计模式,其次,按钮的名称要和VB代码中的一致,否则点击按钮没有反应。
属性中:
代码中:
四、生成柱状图
现在可以根据需要,选择数据,一键生成 柱状图。
你可以根据需要,按住 ctrl 键,进行跳行选择。
比如反应盈利能力的指标选在一起、反应运营效率的指标选在一起。
也可以亿元的选在一起,%的选在一起:
也可以全部选中,再利用柱状图的筛选来 生成不同的组合:
这样,📊就做好了!
我已经把这个示例文件共享出来了。点赞+关注本公众号,回复 vba 即可获得excel文件和vba源代码。
另外,我又找了段非 AI 生成的代码,测试后一样有效,如下:
"Private Sub CommandButton1_Click()
Dim i%, j%
on error resume next
ActiveSheet.ChartObjects(1).Activate
ActiveChart.Parent.Delete
i = Application.WorksheetFunction.CountA(Sheet1.Columns(""A:A""))
j = Application.WorksheetFunction.CountA(Sheet1.Rows(""1:1""))
Range(Cells(1, 1), Cells(i, j)).Select
ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select
ActiveChart.SetSourceData Source:=Range(Cells(1, 1), Cells(i, j))
End Sub"
我也放到了下载。
好啦,今天的分享到这里,别忘了关注、收藏、点赞、分享这篇文章哦!以便第一时间收到更多、更好玩儿的 ChatGPT 技巧分享哦。
「礼包」 只需在本公众号内回复“AI”,即可免费获得我们为您精心准备的学习大礼包。
「学习」 如果你想系统学习 AI 知识,欢迎加入"清风学长的AI办公视频课程",有2小时免费试听课程。课程大纲如下:
加入我们的学习队伍,开启你的AI学习之旅吧!
— 完 —
点这里👇关注我,记得标星哦~